package com.aizuda.boot.modules.business.counterparty.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("legal_entity_detail")
@Schema(description = "法人实体详情表")
public class LegalEntityDetailEntity {

    @TableId(type = IdType.AUTO)
    @Schema(description = "主键ID")
    private Integer id;

    @Schema(description = "法人实体编码")
    private String legalEntityCode;

    @Schema(description = "法人实体名称")
    private String legalEntityName;

    @Schema(description = "法人实体简称")
    private String legalEntityAbbr;

    @Schema(description = "注册国家/地区")
    private String registerCountry;

    @Schema(description = "详细地址")
    private String detailAddress;

    @Schema(description = "证件类型")
    private Integer certificateType;

    @Schema(description = "证件ID")
    private String certificateId;

    @Schema(description = "纳税人类型")
    private String taxpayer;

    @Schema(description = "是否启用(0:停用,1:启用)")
    private Boolean isEnabled;

    @Schema(description = "银行信息ID列表(多个用逗号分隔)")
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private String bankInfoIds;

    @Schema(description = "附件")
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private String attachment;

    @Schema(description = "创建appid")
    private String createAppid;

    @Schema(description = "创建来源")
    private String createSource;

    @Schema(description = "修改appid")
    private String updateAppid;

    @Schema(description = "修改来源")
    private String updateSource;

    @Schema(description = "创建人ID")
    private Long createId;

    @Schema(description = "创建人")
    private String createBy;

    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "更新人")
    private String updateBy;

    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;

    @Schema(description = "逻辑删除标志(0:未删除,1:已删除)")
    private Boolean deleted;
} 